package com.str.dto;
import com.str.vo.GenInfoVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @description:新增、修改基因数据请求dto
 * @author: zhangWu
 * @create: 2023-04-15 16:43
 **/
@Data
@ApiModel("新增、修改基因数据请求dto")
public class SaveOrUpdateKitInfoDto {

    /**
     * 试剂盒id
     */
    @ApiModelProperty(value = "试剂盒id")
    private String kitId;
    /**
     * 试剂盒名称
     */
    @ApiModelProperty(value = "试剂盒名称")
    @NotNull(message = "试剂盒名称不能为空")
    private String kitName;
    /**
     * 组分数：0，未知，1：1人份，2：2人份，3：3人份
     */
    @ApiModelProperty(value = "组分数：0，未知，1：1人份，2：2人份，3：3人份")
    @NotNull(message = "组分数不能为空")
    private Integer comNumber;
    /**
     * 采样类型，1：血斑、2：唾液斑、3：汗斑、4：精斑、5：毛发、6：烟蒂、7：骨骼、8：牙齿，9：脱落上皮细胞，10：其它
     */
    @ApiModelProperty(value = "采样类型，1：血斑、2：唾液斑、3：汗斑、4：精斑、5：毛发、6：烟蒂、7：骨骼、8：牙齿，9：脱落上皮细胞，10：其它")
    @NotNull(message = "采样类型不能为空")
    private Integer samplingType;
    /**
     * 来源（存放链接）
     */
    @ApiModelProperty(value = "来源（存放链接）")
    @NotNull(message = "来源不能为空")
    private String source;
    /**
     * 基因座信息集合
     */
    @ApiModelProperty(value = "基因座信息集合")
    @NotEmpty(message ="基因座信息不能为空" )
    @Valid
    private List<GenInfoVO> list;

}